package com.hspedu.generic.Homewrok;

import java.util.*;

/**
 * @author DL5O
 * @version 1.0
 */
public class DAO<T>{
    private Map<String,T> map = new HashMap<>();

    //保存t对象到Map 成员变量中
    public void save(String id,T entity){
        map.put(id,entity);
    }

    //获取id对应的对象
    public T get(String id){
        return map.get(id);
    }

    //替换map中的key为id的内容，改为entity对象
    public void update(String id,T entity){
        map.replace(id,entity);
//          map.put(id,entity);
    }

    //返回map中存放的所有t对象
    public List<T> list(){
        //创建ArrayList
        List<T> list = new ArrayList<>();

        //第一种
        /*Set<String> keySet = map.keySet();
        for (String key: keySet) {
            list.add(map.get(key));
        }*/

        //第二种
        Collection<T> values = map.values();
        Iterator<T> iterator = values.iterator();
        while (iterator.hasNext()) {
            T t =  iterator.next();
            list.add(t);
        }

        return list;
    }



    /*public Collection<T> list(){
        return map.values();
    }*/

    //删除指定的id对象
    public void delete(String id){
        map.remove(id);
    }



    //输出
    public static void output(List<User> list) {
        Iterator<User> iterator = list.iterator();
        while (iterator.hasNext()) {
            User user =  iterator.next();
            System.out.println(user);
        }
    }
}
